package com.g8.pethospitallearnbackend.utils;

import org.springframework.cglib.core.Local;

import java.sql.Date;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;


/**
 * 字符串的一些处理
 */
public class StringUtil {
    /**
     * 下划线转驼峰
     * @param underscoreName
     * @return
     */
    public static String convertToCamelCase(String underscoreName) {
        StringBuilder camelCaseName = new StringBuilder();
        boolean nextUpperCase = false;
        for (int i = 0; i < underscoreName.length(); i++) {
            char ch = underscoreName.charAt(i);
            if (ch == '_') {
                nextUpperCase = true;
            } else {
                if (nextUpperCase) {
                    camelCaseName.append(Character.toUpperCase(ch));
                    nextUpperCase = false;
                } else {
                    camelCaseName.append(ch);
                }
            }
        }
        return camelCaseName.toString();
    }

    /**
     * 把sql.date!!!!!日期类型转成String
     * @param date
     * @return
     */
    public static String dateToString(Date date) {
        // 使用 SimpleDateFormat 将 java.sql.Date 对象格式化为字符串
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String dateString = dateFormat.format(date);

        return dateString; // 输出：2024-03-26
    }

    /**
     * 字符串形式的日期转成localdate
     * @param date
     * @return
     */
    public static LocalDate stringToDate(String date){
        // 创建一个日期时间格式化器，指定日期格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

        // 使用格式化器将字符串解析为 LocalDate 对象
        return LocalDate.parse(date, formatter);
    }
}
